#include<bits/stdc++.h>
using namespace std;
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
const int N=2e5+10;
#define INF 0x3f3f3f3f;
typedef long long int ll;
#define close(); std::ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);
//----------------------------------------------------------------------------//

void solve()
{
	string s;
	cin>>s;
	//map<string,int> mp;

	// for(auto&x:s) cnt[x]++;

	// for(auto [k,v]:cnt)
	// {
	// 	if(v&1)
	// 	{
	// 		cout<<"NO"<<'\n';
	// 		return;
	// 	}
	// }
	// cout<<"YES"<<'\n';
	// for(int i=0,j=0;i<s.size();i++)
	// {
	// 	int cnt=0;
	// 	int head=i;
	// 	while(s[i]==s[j]) i++;
	// 	i--;
	// 	while(s[i]==s[j])
	// 	{
	// 		j++;
	// 		cnt++;
	// 	}
	// 	j++;
	// 	mp[s.substr(head,cnt)]++;
	// }
	// int tmp=(*mp.begin()).second;
	// if(mp.size()==1&&(tmp%2!=0))
	// {
	// 	cout<<"NO"<<'\n';
	// 	return;
	// }
	// if(mp.size()==1&&(tmp%2==0))
	// {
	// 	cout<<"YES"<<'\n';
	// 	return;
	// }

	// for(auto [k,v]:mp)
	// {
	// 	if(v&1)
	// 	{
	// 		cout<<"NO"<<'\n';
	// 		return;
	// 	}
	// }
	// cout<<"YES"<<'\n';

	string s2=s.substr(0,s.size()/2);
	if(s2+s2==s) cout<<"YES"<<'\n';
	else cout<<"NO"<<'\n';

	
}

int main()
{
	close();
	int T; cin>>T;
	while (T--) solve();
	return 0;
}
//读错题了